Performance Impact of Multithreaded Java Semantics on Multiprocessor Memory Consistency Models
نویسندگان
چکیده
The semantics of Java multithreading dictates all possible behaviors that a multithreaded Java program can exhibit on any platform. This is called the Java memory model and describes the allowed re-orderings among the operations in a thread. However, multiprocessor platforms traditionally have a memory consistency model of their own. Consequently memory barriers may have to be inserted to ensure that the multiprocessor execution of a multithreaded Java program respects the Java Memory Model. In this paper, we study the impact of these additional memory barriers on multiprocessor performance. We also study how different choices of the Java Memory Model affect multiprocessor performance. Our experimental results are obtained by simulating multithreaded Java Grande benchmarks under various software and hardware memory models.
منابع مشابه
Formal Reasoning about Hardware and Software Memory Models
The Java programming language allows multithreaded programming, where threads can be run on multiprocessor or uniprocessor platforms. The allowed behaviors of any multithreaded Java program on any implementation platform (multior uni-processor), are described in terms of a memory consistency model called the Java Memory Model (JMM). However, shared memory multiprocessors have a memory model of ...
متن کاملDeconstructing Redundant Memory Synchronization
In multiprocessor systems with weakly consistent shared memory, memory fence (also know as barrier) instructions are necessary to establish memory consistency at synchronization points in a parallel program. Programs that follow an acquire-release synchronization protocol (e.g., Java) make frequent use of such fence instructions and hence the thrifty use and efficient implementation of such ins...
متن کاملA Generic Operational Memory Model Specification Framework for Multithreaded Program Verification
Given the complicated nature of modern architectural and language level memory model designs, it is vital to have a systematic approach for specifying memory consistency requirements that can support verification and promote understanding. In this paper, we develop a specification methodology that defines a memory model operationally using a generic transition system with integrated model check...
متن کاملA Unified Formal Specification and Analysis of the New Java Memory Models
In a multithreaded program running on a multiprocessor platform, different processors may observe operations in different orders. This may lead to surprising results not anticipated by the programmer. The problem is exacerbated by common compiler and hardware optimization techniques. A memory (consistency) model provides a contract between the system designer and the software designer that cons...
متن کاملA Simple Modern Correctness Condition for a Space - Based High - Performance Multiprocessor 1
A number of U.S. national programs, including space-based detection of ballistic missile launches, envisage putting significant computing power into space. Given sufficient progress in low-power VLSI, multichip-module packaging and liquid-cooling technologies, we will see design of high-performance multiprocessors for individual satellites. In very high speed implementations, performance depend...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003